/**********************************************************************
 Copyright (c) 2020-2023, Unitree Robotics.Co.Ltd. All rights reserved.
***********************************************************************/
#ifndef CONTROLFRAME_H
#define CONTROLFRAME_H

#include "FSM/FSM.h"
#include "control/CtrlComponents.h"

/// @brief 控制框架, 属性有FSM* _FSMController, CtrlComponents *_ctrlComp
class ControlFrame{
public:
	/// @brief 依赖初始化完成的CtrlComponents实例, 初始化控制框架中的FSM
	/// @param ctrlComp 初始化完毕的CtrlComponents实例
	ControlFrame(CtrlComponents *ctrlComp);
	~ControlFrame(){
		delete _FSMController;
	}
	void run();
private:
	FSM* _FSMController;
	CtrlComponents *_ctrlComp;
};

#endif  //CONTROLFRAME_H